A database is a collection of stored data that is logically related and that is accessible by one or more users. A popular type of database is the relational database management system (RDBMS), which includes relational tables made up of rows and columns. Each row represents an occurrence of an entity defined by a table, with an entity being a person, place, or thing about which the table contains information. To extract data from, or to update, a relational table, queries according to a standard database query language (e.g., Structured Query Language or SQL) are submitted to the database system. A table (also referred to as a relation) is made up of multiple rows (also referred to as tuples). Each row (or tuple) includes multiple columns (or attributes).
An issue associated with a database system is the occurrence of deadlock among multiple transactions. For transactional consistency, each transaction in a database typically places some locks on relations and views that are involved in the transaction. In some scenarios, the conflicting locks from multiple transactions are placed on the relations in such an order that none of the multiple transactions can precede further—a deadlock condition. A deadlock among transactions reduces the ability of transactions to complete successfully in a database system, and as a result, system performance suffers.
Another issue with database systems is the relatively high overhead associated with database executions in response to queries/transactions. In the data warehouse application, client systems may send large numbers of queries/transactions to a database system. Having to process large numbers of queries/transactions usually causes database system performance to suffer.